#ifndef _SUPER_H_
#define _SUPER_H_


#include <stdlib.h>
#include <string.h>
#include "tree_structs.h"

#define CONSTRUCT "__construct"


extern "C" struct StmtListInfo* AddToStmtList(struct StmtListInfo* pStmtLeft, struct StmtInfo* pStmtRight);
extern "C" struct StmtListInfo* CreateStmtList(struct StmtInfo* pStmtRight);
extern "C" struct StmtInfo* CreateSingleExprStmt(struct ExprInfo* pEx, enum StmtType type);

void initStmt(struct StmtInfo* stmt);
void initExpr(struct ExprInfo* expr);


void doFieldToSuperClass(struct ClassDefInfo* pSuper,struct ClassBodyElement* pBody);
void doMethodToSuperClass(struct ClassDefInfo* pSuper,struct ClassBodyElement* pBody);


#endif
